package net.stevechaloner.idea.ffs.io;

import org.jetbrains.annotations.NotNull;

import java.util.List;
import java.io.IOException;

import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiFile;
import net.stevechaloner.idea.ffs.FileType;

/**
 * @author Steve Chaloner
 */
public interface FileFactory<T extends PsiFile>
{
    List<T> loadFiles(@NotNull Project project,
                      @NotNull VirtualFile[] files,
                      @NotNull FileType type) throws IOException;
}
